package com.djzh.insightconnector.mockproject.domain;

import lombok.Data;

import java.util.List;

@Data
public class ServiceNodeQueryResponse {
    // 总数据量
    private Integer total;
    // 分页页码，从1开始
    private Integer offset;
    // 分页数据条数
    private Integer limit;
    // 交易控制指令列表
    private List<ServiceNodeList> serviceNodeList;

    // ==================== 内部静态类：业务节点项 ====================

    @Data
    public static class ServiceNodeList {

        /**
         * 业务节点登记名称 - 业务节点中文名称
         */
        private String entryName;

        /**
         * 业务节点标识编码 - 业务节点标识编码
         */
        private String serviceNodeId;

        /**
         * 业务节点地址列表 - 平台地址
         */
        private List<ServiceNodeAddress> addresses;

        /**
         * 业务功能简介 - 业务节点核心业务介绍
         */
        private String introduction;

        /**
         * 业务节点版本 - 业务节点当前版本
         */
        private String version;

        /**
         * 备注
         */
        private String reserveNotes;

        /**
         * 所属法人或其他组织名称
         */
        private String enterpriseName;

        /**
         * 所属法人或其他组织身份标识码
         */
        private String enterpriseIdentityId;
    }

    // ==================== 内部静态类：业务节点地址 ====================

    @Data
    public static class ServiceNodeAddress {

        /**
         * 业务功能类型 - 业务节点六种类型，单选：
         * 1-应用侧基础设施
         * 2-数据交易类
         * 3-数据开发利用类
         * 4-公共数据授权运营平台类
         * 5-公共服务平台类
         * 6-其他业务平台
         */
        private String type;

        /**
         * 业务节点IP地址 - 业务节点页面服务IP地址
         */
        private String ip;

        /**
         * 业务节点域名 - 业务节点页面服务域名
         */
        private String domainName;

        /**
         * 业务节点接口地址 - 调用业务节点接口地址
         */
        private String apiUrl;
    }
}
